/**
 *  仿写JSON内置API的parse方法
 *  @param {String} javaData JSON数据格式
 *  @returns Object
 */
function parse(javaData)
{
    //1 去掉【" { } 空格】  
    let str = javaData.replace(/"|{|}|\s/g,'')
    let arr = str.split(',')
    //4 遍历上面：定义空对象
    let obj = {}  
    //3 遍历 
    arr.forEach(item => {
        //5 遍历里面：按照【:】分割
        let temp = item.split(':')
        //6 遍历里面：数组的第一个值就是键，数组的第二个值就是值
        //obj.键 = 值
        //obj.temp[0] = temp[1]
        obj[temp[0]] = isNaN(Number(temp[1])) ? temp[1] : Number(temp[1])
    })
    return obj
}

/**
    * 仿写JSON内置API的stringify方法
    * @param {Object} obj 标准普通对象
    * @returns String
    */
function stringify(obj)
{
     //1 定义空数组
    let arr = []
    //2 遍历对象，将【键、值】push到数组中
    for (let key in obj)
    {
        let val = obj[key]
        if (!['boolean', 'number'].includes(typeof val)) 
        {
            val = `"${obj[key]}"`
        }
        arr.push(`"${key}":${val}`)
    }
    //3 拼接成json数据格式
    return `{${arr.join(',')}}`
}

